package cn.lg.soar.system.biz.modules.auth.service;

import cn.lg.soar.core.annotations.constraints.Id;
import cn.lg.soar.database.base.service.IBaseService;
import cn.lg.soar.system.api.model.UserPostItemVO;
import cn.lg.soar.system.biz.modules.auth.entity.Post;
import cn.lg.soar.system.biz.modules.auth.model.PostDto;

import java.util.List;

/**
 * @author luguoxiang
 * @date 2021/8/21
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
public interface IPostService extends IBaseService<Post> {

    PostDto detail(@Id Long id);

    /**
     * 创建
     * @param data
     * @return
     */
    Long create(PostDto data);

    void update(PostDto entity);

    /**
     * 清空缓存
     */
    void clearCache();

    List<UserPostItemVO> listByUserId(Long userId);

    UserPostItemVO getByUserId(Long userId);

    List<Long> idsByOrgAndTag(Long orgId, String tagCode);

}
